﻿///////////////////////////////////////////////////////////////////////////////
///
/// Cylan Client Core
/// Copyright (C) Shenzhen Cylan Tech. Co., Ltd. 2012
///
/// \file       Core.h
/// \brief      客户端核心库
///
/// 本文件包含所有客户端核心库需要用到的头文件
///
///////////////////////////////////////////////////////////////////////////////
#ifndef CYLAN_CORE_H
#define CYLAN_CORE_H

#ifdef __cplusplus
extern "C"{
#endif

#include "Define.h"

/// @def CC_CORE_VERSION
/// @brief 客户端版本号
#define CC_CORE_VERSION             CC_CORE_MAKEVER(3, 2, 0, 0)

#if defined(_MSC_VER)
#define CC_DEPRECATED               __declspec(deprecated)
#else
#define CC_DEPRECATED               __attribute__((deprecated))
#endif

#include "Error.h"
#include "SGAError.h"
#include "Handle.h"
#include "Session.h"
#include "SGA.h"

/** @fn void CCDebugStartup()
 *  @brief ClientCore调试开始工作
 */
void CCDebugStartup();

/** @fn void CCDebugSetOutputFile(const char *File)
 *  @brief 设置ClientCore调试输出文件
 *  @param File 输出文件保存路径
 */
void CCDebugSetOutputFile(const char *File);

/** @fn void CCDebugOutputString(const char *fmt, ...)
 *  @brief 打印调试信息到ClientCore日志
 */
void CCDebugOutputString(const char *fmt, ...);
    
/** @fn void CCDebugSetCrashLogFile(const char *File, const char *Content)
 *  @brief 设置崩溃时记录的日志文件及内容
 *  @param File 日志路径
 *  @param Content 日志内容
 */
void CCDebugSetCrashLogFile(const char *File, const char *Content);

#ifdef __cplusplus
}
#endif
#endif /* CYLAN_CORE_H */
